Non-volatile memory is used to store data in a device where the data has to be maintained even when the device is not connected to a power supply. For example, non-volatile memory may be used in personal computers to store instructions for completing basic tasks, such as a BIOS interfacing with a keyboard or accessing a disk drive. A common type of non-volatile memory is an EEPROM (electrically erasable programmable read-only memory). Unlike some other types of non-volatile memory devices, data in EEPROM devices can be erased and rewritten.
Traditionally, there has been two types of electrically programmable/erasable cells available. First, poly/poly stack structures are used in flash memory. The cell size is ˜3 μm2 and is typically used in high density array applications. However, a flash device adds significant cost and complexity to the memory manufacturing process. For instance, many flash processes require six or more additional masks to the baseline. A second approach is to use a single level EEPROM. However, the cell size in this case is ˜200 μm2. This limits its usage to applications requiring only few to couple of hundreds of bits.